package com.wf.ew.system.biz;

import com.wf.ew.common.PageResult;
import com.wf.ew.system.model.LoginRecord;
import com.wf.ew.system.model.User;
import com.wf.ew.system.model.UserRole;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.jdbc.support.KeyHolder;

import java.util.List;

/**
 *
 * 数据层接口
 * @author : Doman
 * @date : 2019-09-28 23:36:08
 * @version ：1.0
 */
public interface UserBiz {

	/** 获取实体类表格
	 * @param page
	 * @param user
	 * @return
	 */
	public String list(PageResult<T> page, User user, User loginUser);

	/**
	 * 获取实体类表格
	 * @param user
	 * @return
	 */
	public List<User> list(User user, User loginUser);

	/**
	 * 获取实体类表格
	 * @param user
	 * @return
	 */
	public List<UserRole> listUserRole(User user);

	/**
	 * 获取实体类表格
	 * @param user
	 * @return
	 */
	public List<User> userNameUnique(User user);

	/**
	 * 根据Id查询实体类
	 * @param user
	 * @return
	 */
	public User getById(User user);
	
	/**
	 * 保存实体类
	 * @param user
	 * @param loginUser
	 * @return
	 */
	public KeyHolder add(User user, User loginUser);
	
	/**
	 * 修改实体类
	 * @param user
	 * @param loginUser
	 * @return
	 */
	public boolean update(User user, User loginUser);
	
	/**
	 * 删除实体类
	 * @param user
	 * @param loginUser
	 * @return
	 */
	public boolean delete(User user, User loginUser);
	/**
	 * 删除
	 * @param user
	 * @return
	 */
	public boolean deleteUserRole(User user);

	/**
	 * 保存实体类
	 * @param loginRecord
	 * @return
	 */
	public boolean addLoginRecord(LoginRecord loginRecord);
	/**
	 * 修改密码
	 * @param user
	 * @param loginUser
	 * @return
	 */
	public boolean udpatePsw(User user, User loginUser);
	public boolean udpateState(User user, User loginUser);
	public String loginRecordList(PageResult<T> page, LoginRecord loginRecord);
}
